package com.legal.aid.app.mapper;

import com.legal.aid.app.domain.vo.OrderVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface AppOrderMapper {

    /**
     * 查询当前用户订单
     *
     * @param id 订单主键
     * @return 订单
     */
    public OrderVo selectOrderById(Long id);

    /**
     * 查询当前用户订单
     *
     * @param orderNo 订单编号
     * @return 订单
     */
    public OrderVo selectOrderByOrderNO(String orderNo);


    /**
     * 查询订单列表
     *
     * @param orderVo 订单
     * @return 订单集合
     */
    public List<OrderVo> selectOrderList(OrderVo orderVo);

    /**
     * 新增订单
     *
     * @param orderVo 订单
     * @return 结果
     */
    public int insertOrder(OrderVo orderVo);

    /**
     * 修改订单
     *
     * @param orderVo 订单
     * @return 结果
     */
    public int updateOrder(OrderVo orderVo);

    /**
     * 删除订单
     *
     * @param id 订单主键
     * @return 结果
     */
    public int deleteOrderById(Long id);

    /**
     * 批量删除订单
     *
     * @param ids 需要删除的订单主键
     * @return 结果
     */
    public int deleteOrderByIds(Long[] ids);

    /**
     * 根据用户ID查询订单列表
     * @param userId 用户ID
     * @return 订单列表
     */
    public List<OrderVo> selectOrderListByUserId(Long userId);

}
